package com.mmp.main.servlet.report;

import java.io.IOException;
import java.util.HashMap;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.mmp.common.servlet.BasicServlet;
import com.mmp.main.entity.JobOrder;
import com.mmp.main.util.Default;
import com.mmp.main.util.Enums;
import com.mmp.main.util.WebUtil;

@WebServlet(urlPatterns = { "/ViewClosedJobOrders", "/ViewCancelledJobOrders" })
public class ViewJobOrdersNotActive extends BasicServlet {

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,
			IOException {
		/*
		 * int siteId = getSessionSiteId(request); int locationId =
		 * getSessionLocationId(request); int month =
		 * WebUtil.getParamValueAsInteger(request, "month", 0); int year =
		 * WebUtil.getParamValueAsInteger(request, "year", 0);
		 * 
		 * String uri = WebUtil.getRequestUri(request); boolean viewClosed =
		 * "ViewClosedJobOrders".equals(uri); String errorMsg; String
		 * reportTitle; String pdfTemplateName = "";
		 * 
		 * if (viewClosed) { errorMsg =
		 * "لا يوجد أوامر عمل مغلقة للشهر والسنة التي تم اختيارها"; reportTitle
		 * = Enums.REPORT_TITLE.JOB_ORDER_CLOSED.getReportTitle();
		 * pdfTemplateName = "rt12.jasper"; } else { errorMsg =
		 * "لا يوجد أوامر عمل ملغية للشهر والسنة التي تم اختيارها"; reportTitle
		 * = Enums.REPORT_TITLE.JOB_ORDER_CANCELLED.getReportTitle();
		 * pdfTemplateName = "rt13.jasper"; }
		 * 
		 * List<JobOrder> jOrders = dbQueryManager.getJobOrders(siteId,
		 * locationId, month, year, (viewClosed) ? Enums.JOB_ORDER_STATUS.CLOSED
		 * : Enums.JOB_ORDER_STATUS.CANCELLED);
		 * 
		 * if (jOrders == null || jOrders.isEmpty()) {
		 * announceErorrMessage(request, response, errorMsg); return; }
		 * 
		 * HashMap params = new HashMap();
		 * params.put(Default.REPORT_TITLE_PARAM_NAME, reportTitle);
		 * params.put("jobOrderList", jOrders); viewPDFReport(pdfTemplateName,
		 * null, params, response);
		 */
		int siteId = getSessionSiteId(request);
		int locationId = getSessionLocationId(request);
		int month = WebUtil.getParamValueAsInteger(request, "month", 0);
		int year = WebUtil.getParamValueAsInteger(request, "year", 0);

		String uri = WebUtil.getRequestUri(request);
		boolean viewClosed = "ViewClosedJobOrders".equals(uri);
		String errorMsg = (viewClosed) ? "لا يوجد أوامر عمل مغلقة للشهر والسنة التي تم اختيارها"
				: "لا يوجد أوامر عمل ملغية للشهر والسنة التي تم اختيارها";
		String reportTitle = null;
		// String pdfTemplateName = "";

		List<JobOrder> jOrders = dbQueryManager.getJobOrders(siteId, locationId, month, year,
				(viewClosed) ? Enums.JOB_ORDER_STATUS.CLOSED : Enums.JOB_ORDER_STATUS.CANCELLED);

		if (jOrders == null || jOrders.isEmpty()) {
			announceErorrMessage(request, response, errorMsg);
			return;
		}

		if (viewClosed) {
			// errorMsg =
			// "لا يوجد أوامر عمل مغلقة للشهر والسنة التي تم اختيارها";
			reportTitle = Enums.REPORT_TITLE.JOB_ORDER_CLOSED.getReportTitle();
			request.setAttribute("jobOrders", jOrders);
			request.setAttribute("showClosedJobOrders", viewClosed);
			viewHTMLReport(request, response, "report/ViewJobOrdersList.jsp", reportTitle);
			// pdfTemplateName = "rt12.jasper";
		} else {
			// errorMsg =
			// "لا يوجد أوامر عمل ملغية للشهر والسنة التي تم اختيارها";
			reportTitle = Enums.REPORT_TITLE.JOB_ORDER_CANCELLED.getReportTitle();
			// pdfTemplateName = "rt13.jasper";
			HashMap params = new HashMap();
			params.put(Default.REPORT_TITLE_PARAM_NAME, reportTitle);
			params.put("jobOrderList", jOrders);
			viewPDFReport("rt13.jasper", null, params, request, response);
		}

	}
}
